ci(release): gate mark-latest and web deploy on PyPI publish#66
Merged
lukeocodes merged 1 commit intomainfrom May 8, 2026
Merged
ci(release): gate mark-latest and web deploy on PyPI publish#66lukeocodes merged 1 commit intomainfrom
lukeocodes merged 1 commit intomainfrom
Conversation
Both jobs were running in parallel with build/test/publish — only release-please
was a 'needs' dependency. That meant 'latest' could flip and cli.deepgram.com
could ship a new version banner before the PyPI artifact was actually
installable.
Move both downstream of publish so they run in parallel with bump-brew-formula.
Final shape:
release-please -> build -> test -> publish ─┬─> mark-latest
├─> deploy-web (production)
└─> bump-brew-formula
PyPI is the gating artifact for all three: brew formula needs the SHA, web
landing page advertises the install command, mark-latest promotes the tag.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Move `mark-latest` and the cli.deepgram.com production deploy downstream of `publish` so they run in parallel with `bump-brew-formula` instead of in parallel with `build` / `test` / `publish`.
Why
PyPI is the gating artifact for everything that follows a release. Today:
Now all three downstream-of-publish jobs share the same correctness invariant: nothing promotes a release until PyPI says it exists.
Job graph
Before:
```
release-please ─┬─> build ─> test ─> publish ─> bump-brew-formula
├─> mark-latest
└─> deploy-web
```
After:
```
release-please ─> build ─> test ─> publish ─┬─> mark-latest
├─> deploy-web
└─> bump-brew-formula
```
Diff
Two job definitions changed — `needs: release-please` ➜ `needs: [release-please, publish]`. Comments updated to capture the installability invariant. Total: +11 / -7.